home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CreatingGames / Utilities / Misc / GMS / GMSDev / Includes / system / misc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-11-10  |  5.1 KB  |  156 lines

  1. #ifndef SYSTEM_MISC_H
  2. #define SYSTEM_MISC_H TRUE
  3.  
  4. /*
  5. **  $VER: misc.h V0.9B
  6. **
  7. **  (C) Copyright 1996-1997 DreamWorld Productions.
  8. **      All Rights Reserved.
  9. **
  10. */
  11.  
  12. #ifndef DPKERNEL_H
  13. #include <dpkernel/dpkernel.h>
  14. #endif
  15.  
  16. /****************************************************************************
  17. ** Object Referencing structure.
  18. */
  19.  
  20. #define REFVERSION     1
  21. #define TAGS_REFERENCE ((ID_SPCTAGS<<16)|ID_REFERENCE)
  22.  
  23. struct Reference {
  24.   struct Head Head;   /* [00] Standard header */
  25.   APTR   Next;        /* [12] Next reference */
  26.   APTR   Prev;        /* [16] Previous reference */
  27.   WORD   ObjectID;    /* [20] ID of the object */
  28.   WORD   Pad;         /* [22] Reserved */
  29.   APTR   ObjectName;  /* [24] Name of the object */
  30.   APTR   ModName;     /* [28] Name of the module containing the object */
  31.   __asm  LONG (*CheckFile)(register __a0 struct File *, register __a1 APTR Buffer);
  32.   WORD   ModNumber;   /* [36] Module ID number */
  33.  
  34.   /* Private fields below */
  35.  
  36.   struct Segment *Segment;
  37.   struct Module  *Module;
  38. };
  39.  
  40. #define REFA_ObjectID   (TWORD|20)
  41. #define REFA_ObjectName (TAPTR|24)
  42. #define REFA_ModName    (TAPTR|28)
  43. #define REFA_CheckFile  (TAPTR|32)
  44. #define REDA_ModNumber  (TWORD|36)
  45.  
  46. /****************************************************************************
  47. ** Universal Structure, used in the CopyStructure() routine.
  48. */
  49.  
  50. #define UNVERSION     1
  51. #define TAGS_UNIVERSE ((ID_SPCTAGS<<16)|ID_UNIVERSE)
  52.  
  53. struct Universe {
  54.   struct Head Head;
  55.   APTR   Palette;
  56.   WORD   Planes;
  57.   WORD   ScrWidth;
  58.   WORD   ScrHeight;
  59.   WORD   Width;
  60.   WORD   ByteWidth;
  61.   WORD   Height;
  62.   APTR   Task;
  63.   LONG   Frequency;
  64.   LONG   AmtColours;
  65.   WORD   ScrMode;
  66.   WORD   ScrType;
  67.   APTR   Source;
  68.   APTR   d;
  69.   APTR   Rasterlist;
  70.   WORD   ScrXOffset;
  71.   WORD   ScrYOffset;
  72.   WORD   BmpYOffset;
  73.   WORD   BmpXOffset;
  74.   WORD   Channel;
  75.   WORD   Priority;
  76.   LONG   Length;
  77.   WORD   Octave;
  78.   WORD   Volume;
  79. };
  80.  
  81. /****************************************************************************
  82. ** The SysObject structure.  Private.
  83. */
  84.  
  85. #define SOVERSION      1
  86. #define TAGS_SYSOBJECT ((ID_SPCTAGS<<16)|ID_SYSOBJECT)
  87.  
  88. struct SysObject {
  89.   struct Head Head;
  90.   struct SysObject *Prev;  /* Previous object in list */
  91.   struct SysObject *Next;  /* Next object in list */
  92.   WORD   ObjectID;         /* Unique ID of the object, eg ID_PICTURE */
  93.   WORD   ClassID;          /* Class reference ID */
  94.   BYTE   *Name;            /* Full name of the object */
  95.   __asm LONG (*CopyToUnv)(register __a0 struct Universe *, register __a1 struct Head *);
  96.   __asm LONG (*CopyFromUnv)(register __a0 struct Universe *, register __a1 struct Head *);
  97.   __asm WORD (*CheckFile)(register __a0 struct File *, register __a1 APTR Buffer);
  98.   __asm struct Head * (*Load)(register __a0 struct File *);
  99.   __asm LONG (*Display)(register __a0 APTR Object);
  100.   __asm struct Head * (*Get)(void);
  101.   __asm void (*Free)(register  __a0 APTR Object);
  102.   __asm LONG (*Init)(register  __a0 APTR Object, register __a1 APTR Container);
  103.   __asm LONG (*Read)(register  __a0 APTR Object, register __a1 APTR Buffer, register __d0 LONG Length);
  104.   __asm LONG (*Write)(register __a0 APTR Object, register __a1 APTR Buffer, register __d0 LONG Length);
  105.   __asm LONG (*Open)(register  __a0 struct File *, register __d0 LONG Flags);
  106.   __asm void (*Hide)(register  __a0 APTR Object);
  107.   __asm void (*Close)(register __a0 struct File *);
  108.   __asm LONG (*Save)(register  __a0 APTR Object,   register __a1 struct File *DestFile);
  109.   __asm LONG (*Query)(register __a0 APTR Object);
  110.   __asm LONG (*Activate)(register __a0 APTR Object);
  111.   __asm LONG (*Deactivate)(register __a0 APTR Object);
  112.   __asm LONG (*Draw)(register __a0 APTR Object);
  113.   __asm LONG (*Clear)(register __a0 APTR Object);
  114.   __asm LONG (*Reset)(register __a0 APTR Object);
  115.   __asm LONG (*Flush)(register __a0 APTR Object);
  116.   __asm LONG (*TagTrigger)(register __a0 LONG *TagPos, register __a1 struct Head *);
  117.   struct SysObject *Master;
  118.   __asm LONG (*Lock)(register __a0 APTR Object);
  119.   __asm void (*Unlock)(register __a0 APTR Object);
  120.   __asm LONG (*Detach)(register __a0 APTR Object, register __a1 APTR Parent);
  121. };
  122.  
  123. #define SOA_Prev        (TAPTR|12)
  124. #define SOA_Next        (TAPTR|16)
  125. #define SOA_ObjectID    (TWORD|20)
  126. #define SOA_ClassID     (TWORD|22)
  127. #define SOA_Name        (TAPTR|24)
  128. #define SOA_CopyToUnv   (TAPTR|28)
  129. #define SOA_CopyFromUnv (TAPTR|32)
  130. #define SOA_CheckFile   (TAPTR|36)
  131. #define SOA_Load        (TAPTR|40)
  132. #define SOA_Display     (TAPTR|44)
  133. #define SOA_Get         (TAPTR|48)
  134. #define SOA_Free        (TAPTR|52)
  135. #define SOA_Init        (TAPTR|56)
  136. #define SOA_Read        (TAPTR|60)
  137. #define SOA_Write       (TAPTR|64)
  138. #define SOA_Open        (TAPTR|68)
  139. #define SOA_Hide        (TAPTR|72)
  140. #define SOA_Close       (TAPTR|76)
  141. #define SOA_Save        (TAPTR|80)
  142. #define SOA_Query       (TAPTR|84)
  143. #define SOA_Activate    (TAPTR|88)
  144. #define SOA_Deactivate  (TAPTR|92)
  145. #define SOA_Draw        (TAPTR|96)
  146. #define SOA_Clear       (TAPTR|100)
  147. #define SOA_Reset       (TAPTR|104)
  148. #define SOA_Flush       (TAPTR|108)
  149. #define SOA_TagTrigger  (TAPTR|112)
  150. /*#define SOA_Master    (TAPTR|116)*/
  151. #define SOA_Lock        (TAPTR|120)
  152. #define SOA_Unlock      (TAPTR|124)
  153. #define SOA_Detach      (TAPTR|128)
  154.  
  155. #endif /* SYSTEM_MISC_H */
  156.